﻿////第一个C语言程序
/*
#include<stdio.h>

int main()
{
	printf("hello C\n");
	return 0;
}*/

////main函数的基本框架 1 程序的入口 2 有且只有一个 3 即使一个项目中有多个.c文件，但只有一个main函数
/*
int main()
{
 
	return 0;
}
*/

////古老的写法 - 不推荐
/*
void main()
{
	printf("hello word\n");
}
*/

////OK
/*
int main(void)
{
	return 0;
}
*/

////复杂 初期不需要了解
/*
int main(int argc, char* argv[])
{
	//...
	return 0;
}
*/

////printf函数（库函数）：屏幕上的信息的打印
/*
#include<stdio.h> // 包含stdio.h的头文件
//std - standard - 标准
//i - input - 输入
//o - output - 输出

int main()
{
	printf("hello c");  //直接打印字符串
  printf("%s\n", "hello c");  // %s 打印字符串
	printf("%d\n", 100);  // %d 打印整数
	printf("%c\n", 'x');  // %c 打印字符
	printf("%f\n", 3.14);  // %f 打印浮点数（小数）小数点后默认打6位
	printf("%.3f\n", 3.14);  // 保留三位小数
	return 0;
}
*/

////字符大小写的转换
/*
#include<stdio.h>
int main()
{
	printf("%c\n", 'a');
	printf("%c\n", 'a' - 32); //'A'
	printf("%d\n", '0');  //打印字符‘0’的整数ASCAII码值
	return 0;
}
*/

////使用%c来指定单个字符的打印格式
/*
#include<stdio.h>

int main()
{
	printf("%c\n", 'a');
	printf("%c\n", 97);
	return 0;
}
*/

////for 演示生成32~127的字符
/*
#include<stdio.h>
int main()
{
	int i = 0;
	for (i = 32; i <= 127; i++)
	{
		printf("%c ", i);
	}
	return 0;
}
*/

////数组-一组数据
//// \0 是字符串的结束标志
/*
#include<stdio.h>
int main()
{
	char arr1[] = "abcdef"; //7 字符串末尾存在字符\0
	//char arr2[] = { 'a', 'b','c','d', 'e', 'f',}; // 6后面有乱码
	char arr2[] = { 'a', 'b','c','d', 'e', 'f', '\0' }; //6 '\0'手动停止
	printf("%s\n", arr1); // abcdef 
	printf("%s\n", arr2); // abcdef烫烫烫烫烫烫烫烫烫烫烫P鵲z
	return 0;
}
*/

//转义字符
//• \? ：在书写连续多个问号时使⽤，防⽌他们被解析成三字⺟词，在新的编译器上没法验证了。
//• \' ：⽤于表⽰字符常量'
//• \" ：⽤于表⽰⼀个字符串内部的双引号
//• \\ ：⽤于表⽰⼀个反斜杠，防⽌它被解释为⼀个转义序列符。
//• \a ：警报，这会使得终端发出警报声或出现闪烁，或者两者同时发⽣。
//• \b ：退格键，光标回退⼀个字符，但不删除字符。
//• \f ：换⻚符，光标移到下⼀⻚。在现代系统上，这已经反映不出来了，⾏为改成类似于 \v 。
//• \n ：换⾏符。
//• \r ：回⻋符，光标移到同⼀⾏的开头。
//• \t ：制表符，光标移到下⼀个⽔平制表位，通常是下⼀个4 / 8的倍数。
//• \v ：垂直分隔符，光标移到下⼀个垂直制表位，通常是下⼀⾏的同⼀列。
//下⾯2种转义字符可以理解为：字符的8进制或者16进制表⽰形式
//• \ddd ：d d d表⽰1~3个⼋进制的数字。 如： \130 表⽰字符X
//• \xdd ：d d表⽰2个⼗六进制数字。 如： \x30 表⽰字符0
/*
#include<stdio.h>
int main()
{
	printf("%c\n", '\130'); //130是8进制，转换为10进制是88，对应的ASCAII码值的字符是‘X’
	printf("%c\n", '\x30'); //x30是16进制，转换为10进制是48，对应的ASCAII码值的字符是‘0’
	return 0;
}
*/
